<?php
#-------------------------------------------------------#
#                    Diao-FrameWord                     #
#         一个吊炸天的时代 应该要一个吊炸天的框架          #
#      吊炸天的宣言就是:PHP是世界上最好的语言，没有之一     #
#        Author:DelayHsiao Email:fuck@fackyou.org       #
#            License By:The MIT License (MIT)           #
#-------------------------------------------------------#

class Entry {

    private $get;
    private $post;
    private $request;
    private $config;

    public function __construct(){
        $this->_URL();
        $this->Autoload();
    }

    public function go(){
        if(!defined("APP")){
            //没有指定入口，要么加载默认应用，要么加载URL应用
            if(empty($this->param[$this->config['C_APP']])){
                //URL没有指定APP，加载默认应用
                $app_path = WEB_PATH.$this->config['Default_App'];
            }else{
                $app_path = WEB_PATH.$this->param[$this->config['C_APP']];
            }
        }else{
            //指定入口
        }

        //没有指定入口，要么加载默认控制器，要么加载URL控制器
        if(empty($this->param[$this->config['C_Control']])){
            $app_control = $this->config['Default_Control'];
        }else{
            $app_control = $this->param[$this->config['C_Control']];
        }
        $app_control_class = $app_control.'Control';

        //没有指定入口，要么加载默认方法，要么加载URL方法
        if(empty($this->param[$this->config['C_Action']])){
            $app_action = $this->config['Default_Action'];
        }else{
            $app_action = $this->param[$this->config['C_Action']];
        }

        //load具体文件并执行方法
        include $app_path.'/Control/'.$app_control.Ext;
        $app = new $app_control_class();
        $app->$app_action();
    }

    public function Autoload(){
        //加载核心配置文件
        $core_config = require_once(CORE_PATH.'/Config.php');
        if(!defined("APP")){
            //没有指定APP，则加载默认APP里面的配置文件
            if(empty($this->param[$this->config['C_APP']])){
                //URL没有指定APP，加载默认应用
                $app_config = require_once(WEB_PATH.$core_config['Default_App'].'/Data/Config.php');
            }else{
                $app_config = require_once(WEB_PATH.$this->param[$core_config['C_APP']]);
            }
        }
        $GLOBALS['_CONFIG'] = $this->config = array_merge($core_config,$app_config);
    }

    public function _URL(){
        //解析Url
        $this->get = $_GET;
        $this->post = $_POST;
        $this->param = array_merge($this->get,$this->post);
    }

}

?>
